#!/usr/bin/env python

# ------------------
# Node Configuration:
# ------------------
NODE_NAME = 'wu_dpslam'

# The name of the laser scanner topic
LASER_SCAN_TOPIC = 'laser'

# The name of the odometry topic
ODOMETRY_TOPIC = 'odometry'

# TF Frames
BASE_FRAME = '/map'
ODOM_FRAME = '/odom'

# The number of particles to use
NUM_PARTICLES = 10000

# The total number of laser readings to look at for localization
LASER_LOCALIZE_NUM_SAMPLE = 25

# Maximum number of particles to update in a given iteration
MAX_NUM_MAP_UPDATES = 1000

# Number of separate localization worker threads to spawn
NUM_LOC_THREADS = 8

# Number of map update threads to spawn
NUM_MAP_UPDATE_THREADS = 8

# Record map images?
RECORD_IMAGES = True
ITERATIONS_PER_IMAGE = 1

# -------------------------
# Probability Configuration:
# -------------------------
# Models
MOTION_SIGMA = 0.1		# ( 0 <= MOTION_SIGMA <= 1)
ROTATION_SIGMA = 0.3	# radians
SENSOR_SIGMA = 0.025	# (meters)

# -----------------
# Map Configuration
# -----------------
MAP_WIDTH_PX = 1200
MAP_HEIGHT_PX = 800
MAP_CENTER_PX = (760, 760)
MAP_METERS_PER_PIXEL = 0.05
MAP_CELL_ON = 100
MAP_CELL_OFF = 0
MAP_CELL_UNKNOWN = -1
MAP_IMAGE_FORMAT = 'png'
MAP_MAX_UPDATE_RANGE_M = 1.75
MAP_MAX_LOCALIZE_RANGE_M = 2.5

# ---------------------
# Service Configuration:
# ---------------------
OCCUPANCY_GRID_SERVICE_NAME = 'dpslam_occupancy_grid'
ANCESTRY_TREE_VISUALIZATION_SERVICE_NAME = 'dpslam_ancestry_tree'

# ---------------------------
# Miscellaneous Configuration:
# ---------------------------
MSG_BLOCK_DURATION_S = 15 	# Number of seconds to block for messages before quitting
